ডেটা অ্যানোটেশন ব্যবহার করে Model Validation

Microsoft Technologies - এএসপি ডট নেট কোর (ASP.Net Core) বাইন্ডিং এবং ভ্যালিডেশন (Model Binding and Validation) |
258
258

Model Validation হল ASP.NET Core অ্যাপ্লিকেশনের একটি গুরুত্বপূর্ণ বৈশিষ্ট্য, যা ব্যবহারকারীর ইনপুট যাচাই করতে সাহায্য করে। ASP.NET Core ডেটা অ্যানোটেশন (Data Annotations) ব্যবহার করে সহজে Model Validation পরিচালনা করতে সক্ষম। ডেটা অ্যানোটেশন হল সেই এট্রিবিউট যা আপনি আপনার Model ক্লাসের প্রপার্টির উপর প্রয়োগ করেন এবং এটি ইনপুট যাচাই করার জন্য ব্যবহৃত হয়, যেমন ফিল্ডের ধরন, ফিল্ডের জন্য প্রয়োজনীয়তা, ম্যাক্সিমাম এবং মিনিমাম মান ইত্যাদি।

ডেটা অ্যানোটেশন ব্যবহারের মাধ্যমে আপনি বিভিন্ন ধরনের ভ্যালিডেশন চেক করতে পারেন, যেমন:

  • Required: ফিল্ডটি অবশ্যই পূর্ণ হতে হবে।
  • StringLength: স্ট্রিংয়ের দৈর্ঘ্য সীমাবদ্ধ করা।
  • Range: একটি সংখ্যা একটি নির্দিষ্ট রেঞ্জের মধ্যে থাকতে হবে।
  • EmailAddress: একটি বৈধ ইমেল ঠিকানা।
  • RegularExpression: একটি নির্দিষ্ট নিয়ম অনুসারে ডেটা যাচাই করা।

ডেটা অ্যানোটেশন এর মাধ্যমে Model Validation করার জন্য পদক্ষেপ

  1. Model ক্লাসে ডেটা অ্যানোটেশন অ্যাট্রিবিউট ব্যবহার করা: প্রথমে আপনাকে আপনার Model ক্লাসে ডেটা অ্যানোটেশন অ্যাট্রিবিউট যোগ করতে হবে। এই অ্যাট্রিবিউটগুলি ইনপুট যাচাই করার জন্য কাজ করবে।
  2. Controller এ Model Validation চেক করা: তারপর, Controller এর মধ্যে ModelState.IsValid প্রোপার্টি ব্যবহার করে মডেল ভ্যালিডেশন চেক করা হবে।
  3. View-এ Validation Error দেখানো: অবশেষে, View-এ Validation Error ব্যবহারকারীকে দেখানোর জন্য আপনার Razor View-এ প্রপার কোড যুক্ত করতে হবে।

উদাহরণ

ধরা যাক, আমরা একটি Person মডেল তৈরি করছি, যার মধ্যে নাম, বয়স এবং ইমেল অ্যাড্রেস চেক করা হবে। এখানে ডেটা অ্যানোটেশন ব্যবহার করা হয়েছে।

1. Model ক্লাসে ডেটা অ্যানোটেশন যুক্ত করা

using System.ComponentModel.DataAnnotations;

public class Person
{
    [Required(ErrorMessage = "নাম অবশ্যই প্রদান করতে হবে")]
    [StringLength(100, ErrorMessage = "নামটি ১০০ অক্ষরের মধ্যে হতে হবে")]
    public string Name { get; set; }

    [Range(18, 100, ErrorMessage = "বয়স ১৮ থেকে ১০০ এর মধ্যে হতে হবে")]
    public int Age { get; set; }

    [Required(ErrorMessage = "ইমেল ঠিকানা প্রদান করতে হবে")]
    [EmailAddress(ErrorMessage = "একটি বৈধ ইমেল ঠিকানা প্রদান করুন")]
    public string Email { get; set; }
}

এখানে:

  • Required: ফিল্ডটি পূর্ণ করতে হবে।
  • StringLength: একটি স্ট্রিং-এর দৈর্ঘ্য সীমাবদ্ধ করা (এখানে ১০০ অক্ষরের মধ্যে থাকতে হবে)।
  • Range: বয়সের জন্য ১৮ থেকে ১০০ এর মধ্যে হতে হবে।
  • EmailAddress: একটি বৈধ ইমেল ঠিকানা যাচাই করা।

2. Controller এ Model Validation চেক করা

using Microsoft.AspNetCore.Mvc;

public class PersonController : Controller
{
    [HttpPost]
    public IActionResult Create(Person person)
    {
        // Model Validation চেক করা
        if (ModelState.IsValid)
        {
            // যদি Model Valid হয়, ডেটা প্রক্রিয়া করুন (ডেটাবেসে সেভ করুন)
            return RedirectToAction("Index");
        }

        // যদি Model Invalid হয়, ফর্মটি আবার ভ্যালিডেশনসহ রেন্ডার করুন
        return View(person);
    }
}

এখানে, ModelState.IsValid ব্যবহার করে মডেলটি যাচাই করা হয়। যদি মডেলটি ভ্যালিড হয়, তাহলে রিডাইরেক্ট করা হবে, অন্যথায় View-এ Error বার্তা দেখানো হবে।

3. Razor View-এ Validation Error দেখানো

@model Person

<form asp-action="Create" method="post">
    <div>
        <label for="Name">নাম</label>
        <input type="text" id="Name" name="Name" value="@Model.Name" />
        <span asp-validation-for="Name" class="text-danger"></span>
    </div>

    <div>
        <label for="Age">বয়স</label>
        <input type="number" id="Age" name="Age" value="@Model.Age" />
        <span asp-validation-for="Age" class="text-danger"></span>
    </div>

    <div>
        <label for="Email">ইমেল</label>
        <input type="email" id="Email" name="Email" value="@Model.Email" />
        <span asp-validation-for="Email" class="text-danger"></span>
    </div>

    <button type="submit">সাবমিট</button>
</form>

@section Scripts {
    <partial name="_ValidationScriptsPartial" />
}

এখানে:

  • asp-validation-for="Name", asp-validation-for="Age", এবং asp-validation-for="Email" ব্যবহার করে আমরা সংশ্লিষ্ট ফিল্ডের জন্য Validation Error দেখাতে পারি।
  • _ValidationScriptsPartial রেন্ডার করার মাধ্যমে JavaScript Validation স্ক্রিপ্ট ব্যবহার করা হচ্ছে।

ডেটা অ্যানোটেশন ব্যবহার করে কাস্টম ভ্যালিডেশন তৈরি করা

ASP.NET Core ডেটা অ্যানোটেশন দ্বারা Custom Validation তৈরি করা যায়, যা কিছু নির্দিষ্ট লজিক অনুসারে ইনপুট যাচাই করতে ব্যবহৃত হয়। উদাহরণস্বরূপ, আমরা একটি কাস্টম ভ্যালিডেশন তৈরি করব যা একজন ব্যক্তির বয়স ১৮ বছরের কম হলে অনুমোদন করবে না।

কাস্টম ভ্যালিডেশন তৈরি করা

public class AgeValidation : ValidationAttribute
{
    public override bool IsValid(object value)
    {
        var age = (int)value;
        return age >= 18;
    }
}

কাস্টম ভ্যালিডেশন মডেল ক্লাসে ব্যবহার করা

public class Person
{
    [Required(ErrorMessage = "নাম অবশ্যই প্রদান করতে হবে")]
    public string Name { get; set; }

    [AgeValidation(ErrorMessage = "বয়স ১৮ বছরের কম হতে পারবে না")]
    public int Age { get; set; }

    [Required(ErrorMessage = "ইমেল ঠিকানা প্রদান করতে হবে")]
    [EmailAddress(ErrorMessage = "একটি বৈধ ইমেল ঠিকানা প্রদান করুন")]
    public string Email { get; set; }
}

এখানে, AgeValidation কাস্টম অ্যাট্রিবিউট ব্যবহার করা হয়েছে, যা বয়স ১৮ বছরের কম হলে ভুল দেখাবে।


সারাংশ

ASP.NET Core-এ ডেটা অ্যানোটেশন ব্যবহার করে মডেল ভ্যালিডেশন একটি শক্তিশালী পদ্ধতি যা ইনপুট যাচাই করার জন্য খুবই কার্যকর। ডেটা অ্যানোটেশন সন্নিবেশ করার মাধ্যমে আপনি সহজেই বিভিন্ন ধরনের ভ্যালিডেশন চেক (যেমন Required, StringLength, Range, ইত্যাদি) করতে পারেন। এছাড়া, আপনি কাস্টম ভ্যালিডেশন তৈরি করে নিজের শর্তানুযায়ী ইনপুট যাচাই করতে পারেন, যা অ্যাপ্লিকেশনের নিরাপত্তা এবং পারফরম্যান্সের জন্য অত্যন্ত গুরুত্বপূর্ণ।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion